package com.mexico.inloancash.http;


import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * Created by zx on 2020/4/21.
 */

public interface IndiaRequestApi {

    //获取银行列表数据
    @POST("home/bank")
    Call<String> getBankInfo();

    //登陆
    @FormUrlEncoded
    @POST("login/login")
    Call<String> login(@Field("telephone") String userName, @Field("code") String passWorad, @Field("source") String source);

    //获取验证码
    @FormUrlEncoded
    @POST("login/Send_verification_code")
    Call<String> getCode(@Field("telephone") String phone);

    //检查是否更新
    @GET("public/checkforupdate")
    Call<String> update(@Query("type") String type);

    //首页未登录访问
    @GET("home/home")
    Call<String> getOnLoginData();

    //首页登陆后访问
    @FormUrlEncoded
    @POST("loan/loan")
    Call<String> getLoginData(@Field("token") String token, @Field("source") String source);

    /**
     * 保存身份信息
     *
     * @param token
     * @param source
     * @param username
     * @param idcard
     * @param idcardimg1
     * @param idcardimg3
     * @param idInfo     身份证信息 传输json字符串
     * @param ocrInfo    人脸信息 传输json字符串
     * @return
     */
    @FormUrlEncoded
    @POST("user/ocr")
    Call<String> saveInfo(@Field("token") String token,
                          @Field("source") String source,
                          @Field("username") String username,
                          @Field("idcard") String idcard,//身份证号
                          @Field("idcardimg1") String idcardimg1,//身份证正面
                          @Field("idcardimg2") String idcardimg2,//身份证反面
                          @Field("idcardimg3") String idcardimg3,//人脸正面自拍照片 用的是advance
                          @Field("id_info") String idInfo,//这两个值传空就行  没有用ocr的识别了
                          @Field("ocr_info") String ocrInfo,//这两个值传空就行  没有用ocr的识别了
                          @Field("utm_medium") String utm_medium);

    //保存联系人
    @FormUrlEncoded
    @POST("user/contact")
    Call<String> savePhone(@Field("token") String token, @Field("source") String source, @Field("first_relation") String first_relation, @Field("first_name") String first_name, @Field("first_mobile") String first_mobile, @Field("second_relation") String second_relation,
                           @Field("second_name") String second_name, @Field("second_mobile") String second_mobile);

//    //保存个人信息
//    @FormUrlEncoded
//    @POST("user/BasicInfo")
//    Call<String> savePerson(@Field("token") String token,
//                            @Field("source") String source,
//                            @Field("education") String education,
//                            @Field("religion") String religion,
//                            @Field("marital_status") String marital_status,
//                            @Field("sex") String sex,
//                            @Field("birth_day") String birth_day,
//                            @Field("loan_purpose") String loan_purpose,
//                            @Field("city") String city,
//                            @Field("expiry_date") String expiry_date,
//                            @Field("address") String address);

    //保存个人信息
    @FormUrlEncoded
    @POST("user/BasicInfo")
    Call<String> savePerson(@Field("token") String token,
                            @Field("source") String source,
                            @Field("education") String education,//教育
                            @Field("marital_status") String marital_status,//婚姻状态
                            @Field("sex") String sex,//性别
                            @Field("birth_day") String birth_day,//生日
                            @Field("children_num") String children_num,//孩子个数
                            @Field("city") String city,//当前居住城市
                            @Field("expiry_date") String expiryDate, //居住地详细地址
                            @Field("address") String address,//定位地址
                            @Field("whatsapp") String whatsapp,//whatsapp 账号
                            @Field("religion") String religion,//宗教信仰
                            @Field("language") String language,//语言
                            @Field("father_name") String father_name,//父亲姓名
                            @Field("pin_code") String pin_code,//居住地编号
                            @Field("loan_purpose") String loan_purpose,//贷款目的 默认传空
                            @Field("panNumber") String panNumber,//pan卡号
                            @Field("panName") String panName,//pan卡号 上面的名字
                            @Field("panLastName") String panLastName//pan卡号上面的姓

    );



    //上传工作证明
    @FormUrlEncoded
    @POST("user/WorkInfo")
    Call<String> saveWork(
            @Field("token") String token,
            @Field("source") String source,

            @Field("company_name") String company_name,
            @Field("company_phone") String company_phone,
            @Field("job_type") String job_type,
            @Field("salary") String salary,
            @Field("work_city") String work_city,
            @Field("company_address") String company_address
    );


    //借款列表
    @FormUrlEncoded
    @POST("loan/loanList")
    Call<String> getBill(@Field("token") String token, @Field("source") String source);

    //获取地址
    @GET("public/address")
    Call<String> getAddress();

    //统计安装数(应用第一次进来视为首次安装)
    @FormUrlEncoded
    @POST("home/install")
    Call<String> getInstall(@Field("source") String source);

    //上传app列表
    @FormUrlEncoded
    @POST("User/app_list")
    Call<String> appList(@Field("token") String token, @Field("source") String source, @Field("data") String data);


    //上传相册信息
    @FormUrlEncoded
    @POST("User/image_list")
    Call<String> UploadPhotoAlbum(@Field("token") String token, @Field("source") String source, @Field("data") String data);


    //获取银行
    @FormUrlEncoded
    @POST("user/BankInfo_query")
    Call<String> getBank(@Field("token") String token, @Field("source") String source);

    //获取个人信息(上传通讯录)
    @FormUrlEncoded
    @POST("User/address_book")
    Call<String> phoneData(@Field("token") String token, @Field("source") String source, @Field("data") String data);

    /**
     * 上传短信
     *
     * @param token
     * @param source
     * @param data
     * @return
     */
    @FormUrlEncoded
    @POST("User/sms_list")
    Call<String> putSMSList(@Field("token") String token, @Field("source") String source, @Field("data") String data);

    /**
     * 上传通话记录
     *
     * @param token
     * @param source
     * @param data
     * @return
     */
    @FormUrlEncoded
    @POST("User/call_log")
    Call<String> putCallLog(@Field("token") String token, @Field("source") String source, @Field("data") String data);

    //获取额度
    @FormUrlEncoded
    @POST("loan/placeOrder")
    Call<String> getLoanCount(@Field("token") String token, @Field("source") String source);

    //贷款确认
    @FormUrlEncoded
    @POST("loan/confirmOrder")
    Call<String> sureLoan(@Field("token") String token, @Field("source") String source, @Field("orderno") String orderno);


    //取消订单
    @FormUrlEncoded
    @POST("loan/qxOrder")
    Call<String> cancelLoan(@Field("token") String token, @Field("source") String source, @Field("orderno") String orderno);


    //获取银行列表
    @GET("bank/lists")
    Call<String> getBankList();

    //保存银行卡信息 card_type
    @FormUrlEncoded
    @POST("User/BankInfo")
    Call<String> saveBank(@Field("token") String token,
                          @Field("source") String source,
                          @Field("card_no") String card_no,
                          @Field("bank_code") String bank_code,
                          @Field("IFSC") String IFSC
    );


    //删除银行卡
    @FormUrlEncoded
    @POST("bank/delete")
    Call<String> deleteBank(@Field("bankid") String bankid);

    @FormUrlEncoded
    @POST("User/device_info")
    Call<String> putDevice(@Field("token") String token, @Field("source") String source, @Field("data") String data);

//    //获取身份信息
//    @GET("user/info")
//    Call<String> getInfo();
//
//    //获取个人信息
//    @GET("user/extendInfo")
//    Call<String> getInformation();
//
//    //获取紧急联系人
//    @GET("user/contact")
//    Call<String> getContact();
//
//    //获取工作信息
//    @GET("user/work")
//    Call<String> getWork();

    //统计app下载
    @FormUrlEncoded
    @POST("public/statistics")
    Call<String> statistics(@Field("device_id") String device_id, @Field("type") String type);

    //意见
    @FormUrlEncoded
    @POST("User/feedback")
    Call<String> opinion(@Field("token") String token, @Field("source") String source,
                         @Field("content") String content, @Field("photo") String photo, @Field("contact_information") String information);

    //获取认证信息
    @FormUrlEncoded
    @POST("user/memberInfo")
    Call<String> getMessageInfo(@Field("token") String token, @Field("source") String source);

    @POST("user/customer_service")
    Call<String> getPhone();

    @POST("user/h5_url")
    Call<String> getUrl();

    //修改银行卡信息
    @FormUrlEncoded
    @POST("user/BankInfo_orderno")
    Call<String> saveBank_(@Field("token") String token,
                           @Field("source") String source,
                           @Field("user_name") String user_name,
                           @Field("card_no") String card_no,
                           @Field("card_phone") String card_phone,
                           @Field("bank_code") String bank_code,
                           @Field("orderno") String orderno,
                           @Field("IFSC") String IFSC
    );


    //获取自己的银行卡信息
    @FormUrlEncoded
    @POST("user/BankInfo_query")
    Call<String> getBankCardInfo(@Field("token") String token, @Field("source") String source, @Field("orderno") String orderno);



    //保存身份信息
    @FormUrlEncoded
    @POST("user/ocr")
    Call<String> holdInfo(@Field("token") String token,
                          @Field("source") String source,

                          @Field("username") String username,
                          @Field("idcard") String idcard,//身份证号

                          @Field("idcardimg1") String idcardimg1,//身份证正面
                          @Field("idcardimg2") String idcardimg2,//身份证反面

                          @Field("idcardimg3") String idcardimg3,//人脸正面自拍照片
                          @Field("idcardimg4") String idcardimg4,//pan卡照片

                          @Field("ocr_info") String ocrInfo,//人脸比对信息
                          @Field("aadhaaar_front") String aadhaaar_front,//身份证正面信息
                          @Field("aadhaaar_back") String aadhaaar_back,//身份证反面信息
                          @Field("pan_front") String pan_front,
                          @Field("rfc") String rfc, //pan卡上面的卡号
                          @Field("af") String af//Af统计渠道字段
    );//pan卡信息



    //保存个人信息
    @FormUrlEncoded
    @POST("user/BasicInfo")
    Call<String> holdPerson(@Field("token") String token,
                            @Field("source") String source,
                            @Field("education") String education,//教育
                            @Field("marital_status") String marital_status,//婚姻状态
                            @Field("sex") String sex,//性别
                            @Field("birth_day") String birth_day,//生日
                            @Field("address") String address,//定位地址
                            @Field("whatsapp") String whatsapp//whatsapp 账号
    );
}


